package br.com.comprasPublicas.entity;

import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToOne;
import org.hibernate.annotations.Cascade;
import org.hibernate.annotations.CascadeType;

/**
 *
 * @author helsen_rafael
 * @since 11/01/11
 */

@Entity
public class InclusaoPrecosCotacao implements Serializable {

    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    private int id_inclusaoPrecosCotacao;

    @Column(name="vencedor")
    private boolean vencedor;// Quando concluir todas inclusões de preços, deverá ser feito calculo se este é o menor preço para o item. Este campo será responsável para exportaçao desta classe para a classe VENCEDOR

    @OneToOne(targetEntity=Cotacao.class)
    private Cotacao cotacao;
    

    @OneToOne(targetEntity=Pessoa.class)
    private Pessoa pessoa;
    

    @OneToOne(targetEntity=ItemPedido.class)
    private ItemPedido item_pedido;
    

    @Column(name="quantidade", nullable=false)
    private double quantidade;

    @Column(name="valor_unitario", nullable=false)
    private double valor_unitario;

    @Column(name="valor_total", nullable=false)
    private double valor_total;

    @Column(name="marca", nullable=false)
    private String marca;

    @OneToOne(targetEntity=MapaComparativo.class)
    private MapaComparativo mapa_comparativo;


    @Cascade(CascadeType.ALL)
    
    /**
     * @return the id_inclusaoPrecosCotacao
     */
    public int getId_inclusaoPrecosCotacao() {
        return id_inclusaoPrecosCotacao;
    }

    /**
     * @param id_inclusaoPrecosCotacao the id_inclusaoPrecosCotacao to set
     */
    public void setId_inclusaoPrecosCotacao(int id_inclusaoPrecosCotacao) {
        this.id_inclusaoPrecosCotacao = id_inclusaoPrecosCotacao;
    }

    /**
     * @return the pessoa
     */
    public Pessoa getPessoa() {
        return pessoa;
    }

    /**
     * @param pessoa the pessoa to set
     */
    public void setPessoa(Pessoa pessoa) {
        this.pessoa = pessoa;
    }

    /**
     * @return the valor_unitario
     */
    public double getValor_unitario() {
        return valor_unitario;
    }

    /**
     * @param valor_unitario the valor_unitario to set
     */
    public void setValor_unitario(double valor_unitario) {
        this.valor_unitario = valor_unitario;
    }

    /**
     * @return the valor_total
     */
    public double getValor_total() {
        return valor_total;
    }

    /**
     * @param valor_total the valor_total to set
     */
    public void setValor_total(double valor_total) {
        this.valor_total = valor_total;
    }

    /**
     * @return the marca
     */
    public String getMarca() {
        return marca;
    }

    /**
     * @param marca the marca to set
     */
    public void setMarca(String marca) {
        this.marca = marca;
    }

    /**
     * @return the item_pedido
     */
    public ItemPedido getItem_pedido() {
        return item_pedido;
    }

    /**
     * @param item_pedido the item_pedido to set
     */
    public void setItem_pedido(ItemPedido item_pedido) {
        this.item_pedido = item_pedido;
    }

    /**
     * @return the vencedor
     */
    public boolean isVencedor() {
        return vencedor;
    }

    /**
     * @param vencedor the vencedor to set
     */
    public void setVencedor(boolean vencedor) {
        this.vencedor = vencedor;
    }

    /**
     * @return the quantidade
     */
    public double getQuantidade() {
        return quantidade;
    }

    /**
     * @param quantidade the quantidade to set
     */
    public void setQuantidade(double quantidade) {
        this.quantidade = quantidade;
    }

    /**
     * @return the cotacao
     */
    public Cotacao getCotacao() {
        return cotacao;
    }

    /**
     * @param cotacao the cotacao to set
     */
    public void setCotacao(Cotacao cotacao) {
        this.cotacao = cotacao;
    }

    /**
     * @return the mapa_comparativo
     */
    public MapaComparativo getMapa_comparativo() {
        return mapa_comparativo;
    }

    /**
     * @param mapa_comparativo the mapa_comparativo to set
     */
    public void setMapa_comparativo(MapaComparativo mapa_comparativo) {
        this.mapa_comparativo = mapa_comparativo;
    }



}
